/*
 * @# PhotoFavorService.java 2011-12-26 下午06:18:20
 * 
 * Copyright (C) 2010 - 2011 广州羿安信息科技有限公司
 * Guangzhou ianswer information technology co. ltd.
 * 
 * All rights reserved!
 */
package com.ianswer.px.album.service;

import java.util.List;

import com.ianswer.px.album.entity.PhotoFavor;

/**
 * 对相片的收藏处理.
 * 
 * @author alvin hwang
 */
public interface PhotoFavorService {

	/**
	 * 每页最多显示的记录条数: 20.
	 */
	int RESULTS_PER_PAGE = 20;

	List<PhotoFavor> queryFirstPageByUser(Long userId);
	
	/**
	 * 获取特定用户下的指定页码的收藏记录, 每页显示: {@link #RESULTS_PER_PAGE}.
	 * 
	 * @param userId
	 *            用户标识.
	 * @param page
	 *            页码(从1开始).
	 * @return 收藏记录列表.
	 */
	List<PhotoFavor> queryByUser(Long userId, int page);

	/**
	 * 增加新的收藏记录.
	 * 
	 * @param albumId
	 *            相片标识.
	 * @param photoId
	 *            相片标识.
	 * @param userId
	 *            用户标识.
	 * @return 收藏记录标识.
	 */
	Long insert(Long albumId, Long photoId, Long userId);

	/**
	 * 删除收藏记录.
	 * 
	 * @param albumId
	 *            相片标识.
	 * @param photoId
	 *            相片标识.
	 * @param userId
	 *            用户标识.
	 */
	void delete(Long albumId, Long photoId, Long userId);
}
